import { query } from "@/common.js"
// 进行语法高亮
export const syntaxHighlight = function (json) {
  json = json.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
  return json.replace(/("(\u[a-zA-Z0-9]{4}|\[^u]|[^\"])*"(s*:)?|true|false|null|[\[\]]|[0-9]+|-?d+(?:.d*)?(?:[eE][+-]?d+)?)/g, function (match) {
    var cls = 'number';
    if (/^"/.test(match)) {
      if (/:$/.test(match)) {
        cls = 'key';
      } else {
        cls = 'string';
      }
    } else if (/true|false/.test(match)) {
      cls = 'boolean';
    } else if (/[\[\]]/.test(match)) {
      cls = 'array';
    } else if (/[0-9]+/.test(match)) {
      cls = 'number';
    } else if (/null/.test(match)) {
      cls = 'null';
    }
    return '<span class="' + cls + '">' + match + '</span>';
  })
}
// 关闭modal弹框
export const closeMoadl = function (e) {
  this.$emit('setIsShow', e)
  if(!e) {
    const dom = query('#exportJsonId')
    if(dom) {
      dom.scrollTop = 0
    }
  }
}
// 复制json
export const copyJson = function () {
  // const operateForm = query('#exportJsonId').innerText
  // console.log(operateForm)
  const e = JSON.stringify(this.operateForm, null, 2)
  if(!e) { return this.$Message.error('JSON数据为空') }
  var input = document.createElement("input") // js创建一个input输入框
  input.value = e // 将需要复制的文本赋值到创建的input输入框中
  document.body.appendChild(input) // 将输入框暂时创建到实例里面
  input.select() // 选中输入框中的内容
  document.execCommand("Copy") // 执行复制操作
  document.body.removeChild(input) // 最后删除实例中临时创建的input输入框，完成复制操作
  this.closeMoadl(false)
  return this.$Message.success('复制成功')
}
// 数据更新
export const changeExportJson = function (e) {
  // console.log(e)
}